#
# Copyright (C) [2024] Xingyun Integrated Circuit, Inc.
#
#   GreenCode was a private technology asset of Xingyun Integrated Circuit， Inc （Confidential）
#   Author :  Shawn.Tan
#   Date : 2025.10.28
#
#   History : Initial Version 2025.10.28
#
#
import warnings

warnings.warn(
    "DV.instruction_list is deprecated; please use DV.gpgpu.trees.instruction_tree",
    DeprecationWarning,
)

branch_instructions = [
    "BEQ##CALM",
    "BGE##CALM",
    "BGEU##CALM",
    "BLT##CALM",
    "BLTU##CALM",
    "BNE##CALM",
    "JAL##CALM",
    "JALR##CALM",
]

instructions = [
    "ADD##CALM",
    "ADDI##CALM",
    "ADDIW##CALM",
    "ADDW##CALM",
    "AMOADD.D##CALM",
    "AMOADD.W##CALM",
    "AMOAND.D##CALM",
    "AMOAND.W##CALM",
    "AMOMAX.D##CALM",
    "AMOMAX.W##CALM",
    "AMOMAXU.D##CALM",
    "AMOMAXU.W##CALM",
    "AMOMIN.D##CALM",
    "AMOMIN.W##CALM",
    "AMOMINU.D##CALM",
    "AMOMINU.W##CALM",
    "AMOOR.D##CALM",
    "AMOOR.W##CALM",
    "AMOSWAP.D##CALM",
    "AMOSWAP.W##CALM",
    "AMOXOR.D##CALM",
    "AMOXOR.W##CALM",
    "AND##CALM",
    "ANDI##CALM",
    "AUIPC##CALM",
    "BEQ##CALM",
    "BGE##CALM",
    "BGEU##CALM",
    "BLT##CALM",
    "BLTU##CALM",
    "BNE##CALM",
    "CSRRC#register#CALM",
    "CSRRCI#immediate#CALM",
    "CSRRS#register#CALM",
    "CSRRSI#immediate#CALM",
    "CSRRW#register#CALM",
    "CSRRWI#immediate#CALM",
    "DIV##CALM",
    "DIVU##CALM",
    "DIVUW##CALM",
    "DIVW##CALM",
    "EBREAK##CALM",
    "ECALL##CALM",
    "FADD.D#Double-precision#CALM",
    "FADD.Q#Quad-precision#CALM",
    "FADD.S#Single-precision#CALM",
    "FCLASS.D##CALM",
    "FCLASS.Q##CALM",
    "FCLASS.S##CALM",
    "FCVT.D.L##CALM",
    "FCVT.D.LU##CALM",
    "FCVT.D.Q##CALM",
    "FCVT.D.S##CALM",
    "FCVT.D.W##CALM",
    "FCVT.D.WU##CALM",
    "FCVT.L.D##CALM",
    "FCVT.L.Q##CALM",
    "FCVT.L.S##CALM",
    "FCVT.LU.D##CALM",
    "FCVT.LU.Q##CALM",
    "FCVT.LU.S##CALM",
    "FCVT.Q.D##CALM",
    "FCVT.Q.L##CALM",
    "FCVT.Q.LU##CALM",
    "FCVT.Q.S##CALM",
    "FCVT.Q.W##CALM",
    "FCVT.Q.WU##CALM",
    "FCVT.S.D##CALM",
    "FCVT.S.L##CALM",
    "FCVT.S.LU##CALM",
    "FCVT.S.Q##CALM",
    "FCVT.S.W##CALM",
    "FCVT.S.WU##CALM",
    "FCVT.W.D##CALM",
    "FCVT.W.Q##CALM",
    "FCVT.W.S##CALM",
    "FCVT.WU.D##CALM",
    "FCVT.WU.Q##CALM",
    "FCVT.WU.S##CALM",
    "FDIV.D#Double-precision#CALM",
    "FDIV.Q#Quad-precision#CALM",
    "FDIV.S#Single-precision#CALM",
    "FENCE##CALM",
    "FENCE.I##CALM",
    "FEQ.D##CALM",
    "FEQ.Q##CALM",
    "FEQ.S##CALM",
    "FLD##CALM",
    "FLE.D##CALM",
    "FLE.Q##CALM",
    "FLE.S##CALM",
    "FLQ##CALM",
    "FLT.D##CALM",
    "FLT.Q##CALM",
    "FLT.S##CALM",
    "FLW##CALM",
    "FMADD.D#Double-precision#CALM",
    "FMADD.Q#Quad-precision#CALM",
    "FMADD.S#Single-precision#CALM",
    "FMAX.D##CALM",
    "FMAX.Q##CALM",
    "FMAX.S##CALM",
    "FMIN.D##CALM",
    "FMIN.Q##CALM",
    "FMIN.S##CALM",
    "FMSUB.D#Double-precision#CALM",
    "FMSUB.Q#Quad-precision#CALM",
    "FMSUB.S#Single-precision#CALM",
    "FMUL.D#Double-precision#CALM",
    "FMUL.Q#Quad-precision#CALM",
    "FMUL.S#Single-precision#CALM",
    "FMV.D.X##CALM",
    "FMV.W.X##CALM",
    "FMV.X.D##CALM",
    "FMV.X.W##CALM",
    "FNMADD.D#Double-precision#CALM",
    "FNMADD.Q#Quad-precision#CALM",
    "FNMADD.S#Single-precision#CALM",
    "FNMSUB.D#Double-precision#CALM",
    "FNMSUB.Q#Quad-precision#CALM",
    "FNMSUB.S#Single-precision#CALM",
    "FSD##CALM",
    "FSGNJ.D##CALM",
    "FSGNJ.Q##CALM",
    "FSGNJ.S##CALM",
    "FSGNJN.D##CALM",
    "FSGNJN.Q##CALM",
    "FSGNJN.S##CALM",
    "FSGNJX.D##CALM",
    "FSGNJX.Q##CALM",
    "FSGNJX.S##CALM",
    "FSQ##CALM",
    "FSQRT.D##CALM",
    "FSQRT.Q##CALM",
    "FSQRT.S##CALM",
    "FSUB.D#Double-precision#CALM",
    "FSUB.Q#Quad-precision#CALM",
    "FSUB.S#Single-precision#CALM",
    "FSW##CALM",
    "JAL##CALM",
    "JALR##CALM",
    "LB##CALM",
    "LBU##CALM",
    "LD##CALM",
    "LH##CALM",
    "LHU##CALM",
    "LR.D##CALM",
    "LR.W##CALM",
    "LUI##CALM",
    "LW##CALM",
    "LWU##CALM",
    "MUL##CALM",
    "MULH##CALM",
    "MULHSU##CALM",
    "MULHU##CALM",
    "MULW##CALM",
    "OR##CALM",
    "ORI##CALM",
    "REM##CALM",
    "REMU##CALM",
    "REMUW##CALM",
    "REMW##CALM",
    "SB##CALM",
    "SC.D##CALM",
    "SC.W##CALM",
    "SD##CALM",
    "SH##CALM",
    "SLL##CALM",
    "SLLI#RV32I#CALM",
    "SLLI#RV64I#CALM",
    "SLLIW##CALM",
    "SLLW##CALM",
    "SLT##CALM",
    "SLTI##CALM",
    "SLTIU##CALM",
    "SLTU##CALM",
    "SRA##CALM",
    "SRAI#RV32I#CALM",
    "SRAI#RV64I#CALM",
    "SRAIW##CALM",
    "SRAW##CALM",
    "SRL##CALM",
    "SRLI#RV32I#CALM",
    "SRLI#RV64I#CALM",
    "SRLIW##CALM",
    "SRLW##CALM",
    "SUB##CALM",
    "SUBW##CALM",
    "SW##CALM",
    "XOR##CALM",
    "XORI##CALM",
]
